#ifndef PART_H
#define PART_H

#include "Common/Common.h"
#include "IPart.h"
#include "Action.h"
#include "Command.h"
#include "Rule.h"

class Part : public IPart
{
public:
	void AddRule( const Rule& rule );
	void RemoveRule( const Rule& rule );

	virtual void ProcessCommand( const Command& command );
	virtual void PerformAction( const Action& action ) = 0;

private:
	cmn::Vector<Rule> m_rules;
};

#endif
